import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Test extends JFrame implements ActionListener
{
	private JTextField tRozmiar,tWyswietl;
	private JLabel lRozmiar;
	private JButton bGeneruj;
	private JPanel panel;
	private int Rozmiar;

	public Test()
	{
		setTitle("Trojkat Pascala");
		setSize(300,150);
		setLayout(null);
		setResizable(true);
		setBackground(Color.black);
		
		lRozmiar = new JLabel("Podaj rozmiar: ");
		lRozmiar.setBounds(25, 20, 120, 20);
		add(lRozmiar);
		lRozmiar.setForeground(Color.white);
		lRozmiar.setFont(new Font("SansSerif",Font.BOLD,15));
		
		
		
		tRozmiar = new JTextField();
		tRozmiar.setBounds(150, 20, 100, 20);
		add(tRozmiar);
		tRozmiar.setForeground(Color.black);
		tRozmiar.setBackground(Color.white);
		tRozmiar.setFont(new Font("SansSerif",Font.BOLD,18));
		
		bGeneruj = new JButton("Wyswietl");
		bGeneruj.setBounds(90,60,100,20);
		add(bGeneruj);
		bGeneruj.setForeground(Color.black);
		bGeneruj.setBackground(Color.white);
		bGeneruj.addActionListener(this);
		
	}

	public static void main(String[] args)
	{
		Test aplikacja = new Test();
		aplikacja.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		aplikacja.setVisible(true);
		aplikacja.getContentPane().setBackground(Color.BLACK);
	}

	public void actionPerformed(ActionEvent e) 
	{
		 
			if((tRozmiar.getText()).equals(""))
			{
				JOptionPane.showMessageDialog(null, "Nie podano argumentow","Komunikat",JOptionPane.INFORMATION_MESSAGE);
			}
			else
			{
				try
				{
					int Rozmiar = Integer.parseInt(tRozmiar.getText());
					TrojkatPascala trojkat =  new TrojkatPascala(Rozmiar);
					//String rozmiar = tRozmiar.getText();
					//Rozmiar=Integer.parseInt(rozmiar);
					if(Rozmiar < 2)setSize(20,70);
					else if(Rozmiar > 1  && Rozmiar < 3)setSize(20,80);
					else if(Rozmiar >2 && Rozmiar < 4)setSize(100,90 );
					else if(Rozmiar >3 && Rozmiar < 5)setSize(160,110);
					else if(Rozmiar >4 && Rozmiar < 7)setSize(250,140);
					else if(16 > Rozmiar && Rozmiar > 6)setSize(Rozmiar*40,Rozmiar*20);	
					else if(22 > Rozmiar && Rozmiar > 15)setSize(Rozmiar*40,Rozmiar*18);	
					else if(Rozmiar > 21)setSize(Rozmiar*40,Rozmiar*17);
					
					//TrojkatPascala trojkat =  new TrojkatPascala(Rozmiar);
					Rozmiar+=1;
					JLabel lTablica[] = new JLabel[Rozmiar];
					
					int y = 0;
					int x = 0;
					for(int i = 0; i < Rozmiar; i++)
					{
						for(int j = trojkat.skladnia(i)-i; j < trojkat.skladnia(i); j++)
						{
							if(i==1)
							y=0;
							lTablica[i] = new JLabel("");
							lTablica[i].setBounds(x, y, 100, 30); 
							lTablica[i].setText(Integer.toString(trojkat.t[j]));
							add(lTablica[i]);
							lTablica[i].repaint();
							lTablica[i].setFont(new Font("SansSerif",Font.PLAIN,7));
							lTablica[i].setForeground(Color.white);
							x+=40;
						}
					x=10;	
					y+=15;
					}
					
					lRozmiar.setVisible(false);
					tRozmiar.setVisible(false);
					bGeneruj.setVisible(false);
		
				}
				catch(NumberFormatException ex)
				{
					JOptionPane.showMessageDialog(null, "Zly format argumnetu","Komunikat",JOptionPane.INFORMATION_MESSAGE);
				}
				catch(TrojkatPascala.TrojkatPascalaException ex) 
				{
				JOptionPane.showMessageDialog(null, ex.getMessage(),"Komunikat",JOptionPane.INFORMATION_MESSAGE);
				}
				
			}
		
	}
		
	
}
